#ifndef _MAT_SOUNDS_H_
#define _MAT_SOUNDS_H_

#include "audio/audio.h"



	 
class MATSounds
{
public:

	const static std::string MUSIC_MENU;
	const static std::string MUSIC_INGAME;
	
	enum SOUND_NAMES
	{
		SFX_NONE,

		SFX_MATCH,
		SFX_GEM_MOVING,
		SFX_GEM_SELECTED,
		SFX_GEM_MOVE_START,
		SFX_GEM_COLEECTED,
		SFX_NOTVALIDMOVE,
		SFX_RATINGSTAR_APPEAR,
		SFX_LEVEL_FULLSTAR,
		SFX_LEVEL_CLICKED,
		SFX_LEVEL_SUCCESS,
		SFX_LEVEL_FAIL,
		SFX_EXPLODE_BOMB,
		SFX_EXPLODE_TRAP,
		SFX_EXPLODE_TILE,

		UI_CLICK,
		UI_POPUP,
		UI_SCORE_TICK,

		SFX_BONUS_TIME,
		
		SOUND_NAMES_C

	};

	
	

	void		PlaySoundSFX(SOUND_NAMES SFXEnum);
	void		PlayMusic(const std::string& Name);
	

	static MATSounds&			Instance();
	void						Tick(float dt);

private:

	MATSounds();
	void						InternalPlay(SOUND_NAMES SFXEnum);

	float						m_PlayCounters[SOUND_NAMES_C];

	

};
	



#endif //_PVU_SHADOW_H_